
const express = require('express');
const app = new express();
const path = require('path')

//绑定路由
const userRouter = require('./router/user.js');
const productRouter = require('./router/product.js');

app.use(userRouter);
app.use(productRouter);

// app.get('/', function (req, res, next) {
//     //res.send('Hello World');
//     console.log('hello');
//     next();
// }, (req, res, next) => {
//     console.log(' world!');
//     next();
// }, (req, res, next) => {
//     res.send('中国');
//     next();
// }, (req, res, next) => {
//     console.log('aaa');
// })

// app.get('/home', (req, res) => {
//     var options = {
//         root: path.join(__dirname, 'public'),
//         dotfiles: 'deny',
//         headers: {
//             'x-timestamp': Date.now(),
//             'x-sent': true
//         }
//     }
//     res.sendFile('./index.html');
// })

// app.get('/file/:name', function (req, res, next) {
//     var options = {
//         root: path.join(__dirname, 'public'),
//         dotfiles: 'allow',
//         headers: {
//             'x-timestamp': Date.now(),
//             'x-sent': true
//         }
//     }

//     var fileName = req.params.name
//     res.sendFile(fileName, options, function (err) {
//         if (err) {
//             next(err)
//         } else {
//             console.log('Sent:', fileName)
//         }
//     })
// })


// app.get('/home', (req, res) => {
//     res.send('首页');
// })

//API里有一种API方式 ，叫做 restFull  风格的接口方式 ，

/*
* 1、get 请求，表示获取数据
  2、post 请求，表示添加数据
  3、put  请示， 表示修改数据
  4、delete 请示， 表示删除数据
*/
// app.get('/user/:year/:mounth/:day', (req, res) => {
//     var name = req.query
//     var id = req.params
//     console.log(name);
//     console.log(id);
//     res.send('查询用户-' + name + '用户ID- ' + id);
// })

// app.post('/user', (req, res) => {
//     res.send('添加用户');
// });

// app.put('/user', (req, res) => {
//     res.send('修改用户');
// });

// app.delete('/user', (req, res) => {
//     res.send('删除用户');
// });


// app.route('/user')
//     .get(function (req, res) {
//         res.send('Get a random user')
//     })
//     .post(function (req, res) {
//         res.send('Add a user')
//     })
//     .put(function (req, res) {
//         res.send('Update the user')
//     })
//     .delete(function (req, res) {
//         res.send('delete the user')
//     })
// // app.get(/a/, function (req, res) {
// //     res.send('/a/')
// // })

// app.get('/a', function (req, res) {
//     res.redirect('/b')
//     res.send('a')
// })

// app.get('/b', function (req, res) {
//     res.send('b')
// })




var options = {
    dotfiles: 'ignore',
    etag: false,
    extensions: ['htm', 'html'],
    index: false,
    maxAge: '1d',
    redirect: false,
    setHeaders: function (res, path, stat) {
        res.set('x-timestamp', Date.now())
    }
}

app.use(express.static('public', options))

app.listen(3000, () => {
    console.log(`Example app listening at http://localhost:3000`)
})